﻿#define  _CRT_SECURE_NO_WARNINGS  1

//猜数字游戏要求：
//1. 电脑⾃动⽣成1~100的随机数
//2. 玩家猜数字，猜数字的过程中，根据猜测数据的⼤⼩给出⼤了或⼩了的反馈，直到猜对，游戏结束

//#include <stdio.h>
//#include<stdlib.h>
//#include<time.h>
//int main()
//{							//rand函数 rand函数会返回⼀个伪随机数，这个随机数的范围是在0~RAND_MAX之间，这个RAND_MAX的⼤⼩是依赖编译器上实现的，但是⼤部分编译器上是32767。
//	printf("%d\n", rand());//rand函数生成随机数，但它的默认种子数是1，所以是伪随机数，意思是代码执行起来，所得随机数一样
//	printf("%d\n", rand());//所以使用srand函数，控制随机种子数  srand(unsigned  int seed);
//	printf("%d\n", rand());
//	printf("%d\n", rand());
//	printf("%d\n", rand());
//	return 0;
//}

//int main()
//{
//	//要设置随机数生成的种子
//	//要给srand传一个变化的值，什么在变化，时间随时随刻都在变化  time_t time(time_t*timer)  括号内为指针，可改为NULL （返回值不想要可用空值NULL） 
																// time_t是时间戳，就是一个数字 就是现在离计算机发明的时间（1970.1.1.0：0：0）

//	srand(2);
//	printf("%d\n", rand());//rand函数生成随机数，但它的默认种子数是1，所以是伪随机数，意思是代码执行起来，所得随机数一样
//	printf("%d\n", rand());//所以使用srand函数，控制随机种子数  srand(unsigned  int seed)
//	printf("%d\n", rand());
//	printf("%d\n", rand());
//	printf("%d\n", rand());
//	return 0;
//}

//int main()
//{
//	//要设置随机数生成的种子
//	//要给srand传一个变化的值，什么在变化，时间随时随刻都在变化
//	srand((unsigned int)time(NULL));	//强制转化time的类型为unsigned int类型      srand函数在程序运行起来后，只需要设置/调用1次就行，不需要频繁调用
//	printf("%d\n", rand());//rand函数生成随机数，但它的默认种子数是1，所以是伪随机数，意思是代码执行起来，所得随机数一样
//	printf("%d\n", rand());//所以使用srand函数，控制随机种子数  srand(unsigned  int seed)
//	printf("%d\n", rand());
//	printf("%d\n", rand());
//	printf("%d\n", rand());
//	return 0;
//}

//产生0到100的数字
//产生a到b的数字  公式a+rand（）%（b-a+1）
//int main()
//{
//	srand((unsigned int)time(NULL));
//	printf("%d\n", rand() % 100 + 1);//rand()%100产生0-99   +1--->1到100
//	printf("%d\n", rand() % 100 + 1);
//	printf("%d\n", rand() % 100 + 1);
//	printf("%d\n", rand() % 100 + 1);
//	printf("%d\n", rand() % 100 + 1);
//
//	return 0;
//}

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
	printf("*************************\n");
	printf("*******  1.play  ********\n");
	printf("*******  0.exit  ********\n");
	printf("*************************\n");
}
void game()
{
	//生成随机值
	int r = rand() % 100 + 1;
	//猜数字
	int g = 0;
	int count = 5;
	while (count)
	{
		printf("还剩下%d次机会\n",count);
		printf("请猜数字:>");
		scanf("%d", &g);
		if (g > r)
		{
			printf("猜大了\n");
		}
		else if (g < r)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("恭喜你，猜对了,数字是:%d\n", r);
			break;
		}
		count--;
	}
	if (count == 0)       //猜对了或者次数用完，break跳到这里
	{
		printf("很遗憾，次数用完游戏失败\n");
	}
}
int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));		//保证srand函数只调用一次
	do
	{
		menu();
		printf("请选择:>");
		scanf("%d", &input);	//1 0...

		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("输入错误\n");
			break;
		}

	} while (input);

		return 0;
}

